1
超越平台特定程式碼
AI013Lesson 8
00:00

從歷史來看,C++ 缺乏統一的硬體服務互動方式,迫使開發者陷入 「平台孤島」 其中程式碼庫因作業系統特定的 API(如 Win32 或 POSIX)而支離破碎。這張投影片標誌著一個轉折點,進入現代時代,C++ 標準程式庫成為通用的抽象層。

1. 終結 #ifdef 調理盤式程式碼

在標準化之前,像啟動執行緒或瀏覽目錄等簡單任務,需要使用預處理器巨集來處理不同的系統標頭(例如, <windows.h> 對比 <pthread.h>)。這導致了臃腫且難以維護的程式碼。

2. C++11 的范式轉變

標準開始重新掌握系統資源的控制權。特別是, C++11 加入了高階併發功能,包括 std::thread、std::mutex 及 std::future,從而標準化了語言與中央處理器之間的關係。

傳統(碎片化)#ifdef _WIN32CreateThread(...);#elsepthread_create(...);#endif現代(標準化)std::thread t(任務);

3. 解耦供應商邏輯

透過超越平台特定程式碼,標準程式庫提供了「寫一次,編譯到任何地方」的保證。平台維護的負擔從開發者轉移至編譯器供應商。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>